package partOne;

import java.util.Arrays;

//本类用于实现冒泡排序
public class BubbleSort {
    public static void main(String[] args) {
        // 1.创建一个无序的数组
        int[] a = {17,96,73,25,21};

        //2.调用排序的方法进行排序
        method(a);

    }

    private static void method(int[] a) {
        // 需要使用嵌套for循环
        // 从1开始，从a.length-1结束
        for(int i=1; i<=a.length-1; i++) {//控制的是轮数，加入有n个数，最多比较n-1轮
            System.out.println("第"+i+"轮");

            //内层循环控制的是在这一轮中比较的次数;j代表的是数组的下标，我们要通过下标操作数组中的元素相邻比较
            for(int j=0; j<a.length-i; j++) {//最大下标不是固定的，随着i的变化而变化，上一轮确定的最大值，不需要参与本轮的比较，所以i轮确定i个，要-i；
                //3.相邻比较，位置不对就互换
                if(a[j]>a[j+1]) {//如果前面的数大于后面的数，就交换俩个位置上的元素
                    int c;
                    c = a[j];   //将a[j]的值赋值给c
                    a[j]= a[j+1];  //将a[j+1]的值赋值给a[j]
                    a[j+1]=c;   //将c的值赋值给a[j+1]


                }
                //System.out.println("排序完成后的数组为："+Arrays.toString(a));  此处可以查看在每一轮结束后的效果
            }

        }

        System.out.println("排序完成后的数组为："+ Arrays.toString(a));

    }
}